#coding:utf-8

#导入Flask类
from flask import Flask, current_app

#Flak类接收一个参数__name__
#todo 关于__name__,是一个魔法方法,如果直接打印,显示的为__main__,
#todo 如果调用后打印,则为当前文件的路径
app = Flask(__name__,
            static_url_path='/static',  #访问静态资源的url前缀,默认用static
            static_folder='static',  #静态文件的目录
            template_folder='templates', #模板文件的目录
            )



#配置参数的使用方式
# 1. 使用配置文件
# app.config.from_pyfile('config.cfg')  #该文件路径是相对__name__的根路径
#config.cfg内容:DEBUG = True

# 2. 使用对象配置参数
class Config(object):
    DEBUG = True
    ITCAST = 'python'  #可以自定义参数
app.config.from_object(Config)   #这里直接传对象名就好
#
# # 3. 直接操作config的字典对象.
# app.config['DEBUG'] = True


#读取配置参数
@app.route('/')
def index():
    # a = 1/0
    # 1 直接从全局对象的config字典中取值
    print(app.config.get('ITCAST'))
    # 2 通过current_app获取参数.导入方式:from flask import current_app
    print(current_app.config.get('ITCAST'))

    return 'hello flask'



# Flask应用程序实例耳朵run方法启动WEB服务器
if __name__ == '__main__':


    #todo 我们采用这个0.0.0.0的host主要是为了在当前主机中,可以通过当前主机所有ip地址访问
    #todo 如果没配置,那么只能通过127.0.0.1
    app.run(host='0.0.0.0', port=5000, debug=True)

